#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include "shmz.h" /* Fichero que contiene la información de la estructura de datos a
compartir */
/* Función principal */
int main(void)
{
int shmid,i;
memo *zona;
/* Creación de la zona de memoria compartida */
if((shmid = shmget(CLAVE_SHM, sizeof(memo), IPC_CREAT|0666)) == -1){
perror("shmget");
exit(EXIT_FAILURE);
}
/* Obtención del puntero a la estructura de datos compartida */
zona = (memo *)shmat(shmid,0,0);
/* Leemos los valores de las variables de la zona de memoria común */
printf("TAREA es: %d \n", zona->tarea);
printf("VALOR es: %f \n", zona->valor);
/* Modificación de la variable compartida tarea */
do {
printf("Introducir un número:"); fflush(stdout);
scanf("%d", &i);
zona->tarea = i;
} while(i == 2);
exit(EXIT_SUCCESS);
}
/* Fin función principal */

